package vue;

import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.GridLayout;
import java.util.ArrayList;
import java.util.List;

import javax.swing.BoxLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.SwingConstants;

import bebetes.BebeteAbstraite;
import bebetes.Comportement;

import simu.Simulateur;

/**
 * Panneau de controle affichant le nombre de bebetes mortes, 
 * le nombre de collision avec les champis, 
 * et les scores de chaque predateurs
 *
 */
public class BoiteControle{
	int nbBebetesInterface;
	int nbChampiInterface;
	int delaisInterface;
	public BoiteControle(Simulateur simu, List<BebeteAbstraite> predateur, int nbBebete) {
		
		final JFrame f = new JFrame();
		f.setTitle("Panneau de controle");
		JPanel configMinimal = new JPanel();
		configMinimal.setPreferredSize(new Dimension(100, 60));
		/*
		 * Recuperation du nombre de bebetes mortes
		 */
		JLabel nbBebetes = new JLabel("Nombre de bebetes mortes :" +( nbBebete - BebeteAbstraite.getNombreBebete()));
		configMinimal.add(nbBebetes);
		JPanel panel = new JPanel();
		panel.setLayout(new GridLayout(0, 2, 10, 10));
		int cmpt = 0;
		/*
		 * Recuperation des scores de chaque predateurs
		 */
		List<Integer> liste = new ArrayList<Integer>(Comportement.mapBebeteScore.values());
		for(int i = 0; i < liste.size(); i++)
		{
			if(liste.get(i) > 0)
			{
				cmpt++;
				panel.add(new JLabel("Predateur num "+ i + ": " +  liste.get(i) + "pts", SwingConstants.CENTER));
			}
		}
		if(cmpt == 0)
			panel.add(new JLabel("Aucun predateur nourri"));
		/*
		 * Recuperation du nombre de collision sur les champis
		 */
		configMinimal.add(new JLabel("Nombre de collision sur les champis : " + Comportement.rencontreChampi));
		configMinimal.setLayout(new BoxLayout(configMinimal, BoxLayout.PAGE_AXIS));
		Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
		configMinimal.add(new JLabel("Scores des predateurs actifs : "));
		JScrollPane scroll = new JScrollPane(panel);
		scroll.setPreferredSize(new Dimension(350, 200));
		configMinimal.add(scroll);
		f.setLocation(dim.width / 2, dim.height / 2);
		f.add(configMinimal);
		f.setSize(500,300);
		f.setVisible(true);
	}

}
